<extend name="Public/base"/>

<block name="style">
	<link rel="stylesheet" href="__PUBLIC__/admin/js/codemirror/codemirror.css">
	<link rel="stylesheet" href="__PUBLIC__/admin/js/codemirror/theme/{:C('codemirror_theme')}.css">
	<style>
		.CodeMirror,#preview_window{
			width:700px;
			height:500px;
		}
		#preview_window.loading{
			background: url('__STATIC__/thinkbox/skin/default/tips_loading.gif') no-repeat center;
		}

		#preview_window textarea{
			display: none;
		}
	</style>
</block>
<block name="body">

	<div class="row">
        <div class="col-md-12">
            
            <div class="tabbable tabbable-custom boxless">
                <form id="form" action="{:U('build')}" method="post" class="form-1">
                <div class="tab-content">
                    
                    <div class="portlet box red">
                        <div class="portlet-title">
                            <div class="caption"><i class="fa fa-reorder"></i>插件快速创建</div>
                            <div class="tools">
                                <a href="javascript:;" class="collapse"></a>
                                <a href="#portlet-config" data-toggle="modal" class="config"></a>
                                <a href="javascript:;" class="reload"></a>
                                <a href="javascript:;" class="remove"></a>
                            </div>
                        </div>
                        <div class="portlet-body form">
                            <!-- BEGIN FORM-->
                            
                                <div class="form-body">
                                		<div class="form-group">
                                            <label><span class="must">*</span>标识名 <span class="check-tips">（请输入插件标识）</span></label>
                                            <div class="controls">
                                                <input type="text" class="form-control input-xlarge" name="info[name]" value="Example">
                                            </div>
                                        </div>
                                        
                                        <div class="form-group">
                                            <label>插件名<span class="check-tips">（请输入插件名）</span></label>
                                            <div class="controls">
                                                <input type="text" class="form-control input-xlarge" name="info[title]" value="示列">
                                            </div>
                                        </div>
                                        
                                        <div class="form-group">
                                            <label>版本<span class="check-tips">（请输入插件版本）</span></label>
                                            <div class="controls">
                                                <input type="text" class="form-control input-xlarge" name="info[version]" value="0.1">
                                            </div>
                                        </div>
                                        
                                        <div class="form-group">
                                            <label>作者<span class="check-tips">（请输入插件作者）</span></label>
                                            <div class="controls">
                                                <input type="text" class="form-control input-xlarge" name="info[author]" value="无名">
                                            </div>
                                        </div>
                                        
                                        <div class="form-group">
                                            <label>描述<span class="check-tips">（请输入描述）</span></label>
                                            <textarea class="form-control input-xlarge" rows="3"  name="info[description]">这是一个临时描述</textarea>
                                        </div>
                                        
                                        <div class="form-group">
                                            <label>安装后是否启用</label>
                                            <input type="checkbox" name="info[status]" value="1" checked />
                                        </div>
                                        
                                        <div class="form-group">
                                            <label>是否需要配置</label>
                                            <input type="checkbox" id="has_config" name="has_config" value="1" />
                                            <div class="controls">
                                                <label class=" has_config hidden">
                                                    <textarea class="textarea form-control input-xlarge" rows="6" name="config">
&lt;?php
return array(
    'random'=>array(//配置在表单中的键名 ,这个会是config[random]
        'title'=>'是否开启随机:',//表单的文字
        'type'=>'radio',		 //表单的类型：text、textarea、checkbox、radio、select等
        'options'=>array(		 //select 和radion、checkbox的子选项
            '1'=>'开启',		 //值=>文字
            '0'=>'关闭',
        ),
        'value'=>'1',			 //表单的默认值
    ),
);
                                                    </textarea>
                                                </label>
                                                <input type="text" class="form-control input-xlarge has_config hidden" name="custom_config">
                                                <span class="check-tips has_config hidden">自定义模板,注意：自定义模板里的表单name必须为config[name]这种，获取保存后配置的值用$data.config.name</span>
                                            </div>
                                        </div>
                                        <div class="form-group">
                                            <div class="controls">
                                                <label>是否需要外部访问</label>
                                                <input type="checkbox" class="checkbox" name="has_outurl" value="1" />
                                            </div>
                                        </div>
                                        <div class="form-group">
                                            <label>实现的钩子方法</label>
                                            <div class="controls">
                                                <select class="select form-control input-medium" name="hook[]" size="10" multiple required>
                                                    <volist name="Hooks" id="vo">
                                                        <option value="{$vo.name}" title="{$vo.description}">{$vo.name}</option>
                                                    </volist>
                                                </select>
                                            </div>
                                        </div>
                                        <div class="form-group">
                                            <label>是否需要后台列表</label>
                                            <div class="controls">
                                                <label class="checkbox">
                                                    <input type="checkbox" id="has_adminlist" name="has_adminlist" value="1" />勾选，扩展里已装插件后台列表会出现插件名的列表菜单，如系统的附件
                                                </label>
                                                <label class=" has_adminlist hidden">
                                                    <textarea class="form-control input-xlarge" rows="6" name="admin_list">
'model'=>'Example',		//要查的表
'fields'=>'*',			//要查的字段
'map'=>'',				//查询条件, 如果需要可以再插件类的构造方法里动态重置这个属性
'order'=>'id desc',		//排序,
'listKey'=>array( 		//这里定义的是除了id序号外的表格里字段显示的表头名
	'字段名'=>'表头显示名'
),
                                                    </textarea>
                                                </label>
                                                <input type="text" class="form-control input-xlarge has_adminlist hidden" name="custom_adminlist">
                                                <span class="check-tips block has_adminlist hidden">自定义模板,注意：自定义模板里的列表变量为$_list这种,遍历后可以用listkey可以控制表头显示,也可以完全手写，分页变量用$_page</span>
                                            </div>
                                        </div>

                                </div>
                                
                                
                                <div class="form-actions fluid ">
                                    <div class="col-md-offset-3 col-md-9"> 
                                        <button class="btn green btn-return" type="button" id="preview">预 览</button>
                                        <button class="btn green ajax-post_custom submit-btn" target-form="form-1" id="submit">确 定</button>
                                        <button class="btn btn-return" onclick="javascript:history.back(-1);return false;">返 回</button>               
                                    </div>
                                </div>
                            
                            <!-- END FORM--> 
                        </div>
                    </div>
                    
                </div>
                
                </form>
            </div>
        </div>
    </div>
    
</block>

<block name="script">
	<!-- BEGIN PAGE LEVEL SCRIPTS -->
	<script src="__STATIC__/scripts/app.js"></script>
	<script type="text/javascript" src="__PUBLIC__/admin/js/codemirror/codemirror.js"></script>
	<script type="text/javascript" src="__PUBLIC__/admin/js/codemirror/xml.js"></script>
	<script type="text/javascript" src="__PUBLIC__/admin/js/codemirror/javascript.js"></script>
	<script type="text/javascript" src="__PUBLIC__/admin/js/codemirror/clike.js"></script>
	<script type="text/javascript" src="__PUBLIC__/admin/js/codemirror/php.js"></script>

	<script type="text/javascript" src="__STATIC__/thinkbox/jquery.thinkbox.js"></script>
	<!-- END PAGE LEVEL SCRIPTS -->
	<script>
	jQuery(document).ready(function() {       
		// initiate layout and plugins
		App.init();

		highlight_subnav('{:U('Addons/index')}');
	
		function bindShow(radio_bind, selectors){
			$(radio_bind).click(function(){
				$(selectors).toggleClass('hidden');
			})
		}

		//配置的动态
		bindShow('#has_config','.has_config');
		bindShow('#has_adminlist','.has_adminlist');

		$('#preview').click(function(){
			var preview_url = '{:U("preview")}';
			console.log($('#form').serialize());
			$.post(preview_url, $('#form').serialize(),function(data){
				$.thinkbox('<div id="preview_window" class="loading"><textarea></textarea></div>',{
					afterShow:function(){
						var codemirror_option = {
							lineNumbers   :true,
							matchBrackets :true,
							mode          :"application/x-httpd-php",
							indentUnit    :4,
							gutter        :true,
							fixedGutter   :true,
							indentWithTabs:true,
							readOnly	  :true,
							lineWrapping  :true,
							height		  :500,
							enterMode     :"keep",
							tabMode       :"shift",
							theme: "{:C('CODEMIRROR_THEME')}"
						};
						var preview_window = $("#preview_window").removeClass(".loading").find("textarea");
						var editor = CodeMirror.fromTextArea(preview_window[0], codemirror_option);
						editor.setValue(data);
						$(window).resize();
					},

					title:'预览插件主文件',
					unload: true,
					actions:['close'],
					drag:true
				});
			});
			return false;
		});

		$('.ajax-post_custom').click(function(){
	        var target,query,form;
	        var target_form = $(this).attr('target-form');
	        var check_url = '{:U('checkForm')}';
			$.ajax({
			   type: "POST",
			   url: check_url,
			   dataType: 'json',
			   async: false,
			   data: $('#form').serialize(),
			   success: function(data){
			    	if(data.status){
    			        if( ($(this).attr('type')=='submit') || (target = $(this).attr('href')) || (target = $(this).attr('url')) ){
				            form = $('.'+target_form);
				            if ( form.get(0).nodeName=='FORM' ){
				                target = form.get(0).action;
				                query = form.serialize();
				            }else if( form.get(0).nodeName=='INPUT' || form.get(0).nodeName=='SELECT' || form.get(0).nodeName=='TEXTAREA') {
				                query = form.serialize();
				            }else{
				                query = form.find('input,select,textarea').serialize();
				            }
				            $.post(target,query).success(function(data){
				                if (data.status==1) {
				                    if (data.url) {
				                        updateAlert(data.info + ' 页面即将自动跳转~','alert-success');
				                    }else{
				                        updateAlert(data.info + ' 页面即将自动刷新~');
				                    }
				                    setTimeout(function(){
				                        if (data.url) {
				                            location.href=data.url;
				                        }else{
				                        	location.reload();
				                        }
				                    },1500);
				                }else{
				                    updateAlert(data.info);
				                }
				            });
				        }
			    	}else{
			    		updateAlert(data.info);
					}
			   }
			});

	        return false;
	    });

	});

	</script>
</block>
